<?php

namespace Sisesporte\Service;

use Doctrine\ORM\EntityManager;
use Sisesporte\Entity\Configurator;
use Sisesporte\Entity\InstituicaoEnsino;

class InstituicaoEnsinoService extends AbstractService {

    public function __construct(EntityManager $em) {
        parent::__construct($em);
        $this->entity = "Sisesporte\Entity\InstituicaoEnsino";
    }

    public function insert(array $data) {
        
        
        $entity = new InstituicaoEnsino();
        $entity->setInTipoEscola($data['InTipoEscola'])
                ->setNoInstituicaoEnsino($data['noInstituicaoEnsino'])
                ->setStAtivo(TRUE);
        $this->em->persist($entity);
        $this->em->flush();
    }

    public function update($id, array $data) {

        $entity = $this->em->getRepository("Sisesporte\Entity\InstituicaoEnsino")->find($id);
        $entity->setInTipoEscola($data['InTipoEscola'])
                ->setNoInstituicaoEnsino($data['noInstituicaoEnsino'])
                ->setStAtivo(TRUE);
        $this->em->persist($entity);
        $this->em->flush();
    }
    
    /**
     * Método para verificar se existe escola informada no formulário.
     * 
     * @param string $noInstituicaoEnsino
     * @param integer $inTipoEscola
     * @return EntityManager
     */
    public function getByNoInstituicaoEnsino($noInstituicaoEnsino, $inTipoEscola)
    {
        $params = array('noInstituicaoEnsino' => $noInstituicaoEnsino, 'inTipoEscola' => $inTipoEscola);
        $entity = $this->em->getRepository("Sisesporte\Entity\InstituicaoEnsino")->findBy($params);
        
        return $entity;
    }
}
